package com.woniu113.junk.order.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author 蜡笔没了小新
 * @since 2024年10月16日
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("order_info")
public class OrderInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 订单编号
     */
    @TableId(value = "order_num", type = IdType.AUTO)
    private String orderNum;

    /**
     * 用户id
     */
    @TableField("user_id")
    private Integer userId;

    /**
     * 用户联系方式
     */
    @TableField("user_phone")
    private String userPhone;

    /**
     * 预约开始时间
     */
    @TableField("start_time")
    private LocalDateTime startTime;

    /**
     * 预约结束时间
     */
    @TableField("end_time")
    private LocalDateTime endTime;

    /**
     * 订单详情
     */
    @TableField("order_info")
    private String orderInfo;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private LocalDateTime createTime;

    /**
     * 0待接单 1已接单(待定) 2上门中 3已到达 4待评价 5已评价 6已取消
     */
    @TableField("order_state")
    private Integer orderState;

    /**
     * 骑手id
     */
    @TableField("rider_id")
    private Integer riderId;

    /**
     * 骑手联系方式
     */
    @TableField("rider_phone")
    private String riderPhone;

    /**
     * 订单金额
     */
    @TableField("money")
    private BigDecimal money;

    /**
     * 骑手订单详情
     */
    @TableField("r_order_info")
    private String rOrderInfo;

    /**
     * 订单结束时间
     */
    @TableField("order_end_time")
    private LocalDateTime orderEndTime;

    /**
     * 站点id
     */
    @TableField("station_id")
    private Integer stationId;

    /**
     * 站点名称
     */
    @TableField("station_name")
    private String stationName;

    /**
     * 站点联系方式
     */
    @TableField("station_phone")
    private String stationPhone;

    /**
     * 评分
     */
    @TableField("score")
    private Integer score;

    /**
     * 订单入库状态
     */
    @TableField("stock_state")
    private Integer stockState;

    /**
     * 异常原因
     */
    @TableField("abnormal_reason")
    private String abnormalReason;

    /**
     * 转账时间
     */
    @TableField("payment_time")
    private LocalDateTime paymentTime;

    /**
     * 订单信息状态
     * */
    @TableField("state")
    private Integer state;

    /**
     * 取消原因
     * */
    @TableField("cancel_reason")
    private String cancelReason;
}
